package org.dromara.system.domain.bo;

import org.dromara.system.domain.ProductLineInformation;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 密钥信息业务对象 product_line_information
 *
 * @author Lion Li
 * @date 2025-08-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ProductLineInformation.class, reverseConvertGenerate = false)
public class ProductLineInformationBo extends BaseEntity {

    /**
     * 
     */
    private Long id;

    /**
     * 
     */
    private Long userId;

    /**
     * 渠道编码
     */
    @NotBlank(message = "渠道编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String channelType;

    /**
     * 渠道名称
     */
    @NotBlank(message = "渠道名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String channelName;

    /**
     * 代理商编号
     */
    @NotBlank(message = "代理商编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String appId;

    /**
     * 代理商私钥
     */
    @NotBlank(message = "代理商私钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String agentPriKey;

    /**
     * 代理商公钥
     */
    @NotBlank(message = "代理商公钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String agentPubKey;

    /**
     * 平台公钥
     */
    @NotBlank(message = "平台公钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String platformPriKey;

    /**
     * 平台私钥
     */
    @NotBlank(message = "平台私钥不能为空", groups = { AddGroup.class, EditGroup.class })
    private String platformPubKey;

    /**
     * 签名
     */
    @NotBlank(message = "签名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String aesKey;

    /**
     * 逸拓客专用
     */
    @NotBlank(message = "逸拓客专用不能为空", groups = { AddGroup.class, EditGroup.class })
    private String clientId;

    /**
     * 逸拓客专用
     */
    @NotBlank(message = "逸拓客专用不能为空", groups = { AddGroup.class, EditGroup.class })
    private String clientSecret;

    /**
     * 平台账号
     */
    @NotBlank(message = "平台账号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String accountNumber;

    /**
     * 平台密码
     */
    @NotBlank(message = "平台密码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String accountPassword;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
